<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		js的设计模:  单例、工厂、构造函数... 承诺者、发布订阅、观察者...
		<script>
			// var name="lili";
			// var age=18;
			// var job="ceo";
			
			// var name="lisa";
			// var age=28;
			// var job="演员";
			
			//单例设计模式：避免相互干扰
			// var obj1={
			// 	name:"lili",
			// 	age:18,
			// 	job:"ceo"
			// }
			
			// var obj2={
			// 	name:"lisa",
			// 	age:28,
			// 	job:"演员"
			// }
			
			//高级单例设计模式
			//头部区域
			let header=(function(){//使用闭包---保护和保存
				let name="lili";
				
				function show(){
					console.log("header");
				}
				
				show();//自己调用
				return {
					name,
					show
				}
			})()
			console.log(header.name);
			header.show();//全局调用
			//导航区域
			let nav=(function(){

				let name="Tom";
				header.show();//其他区域调用
				return {
					name
				}
			})()
			console.log(nav.name);
		</script>
	</body>
</html>
